Skip to content

fix: restrict secret workflows to org members - #83

Merged
sds merged 3 commits into
mainfrom
security/workflow_actor_gates
Aug 29, 2026
Merged

fix: restrict secret workflows to org members#83
sds merged 3 commits into
mainfrom
security/workflow_actor_gates

Conversation

@sds

@sds sds commented Aug 29, 2026

Copy link
Copy Markdown
Member

Summary

  • keep pull request checks unprivileged; run preview deployment from a default-branch workflow_run only after checks pass
  • require the effective triggering actor, including rerunners, to be a current tempoxyz member before preview deploy/destroy, external sweep requests, or production jobs can reach secrets
  • load preview cleanup from the default branch with pull_request_target and never check out PR code
  • replace nondefault-ref manual dispatch with default-branch repository_dispatch; remove unused dispatch triggers from check/zizmor
  • add a GitHub STS policy granting only members: read for the four trusted workflows on main
  • pin Slack secret-rotation STS access to its four expected workflow files on main

Finding

The PR preview gate trusted author_association, admitted COLLABORATOR, and checked the PR author rather than the actor who pushed the current SHA or reran the workflow. A non-org collaborator could therefore cause repository code to execute with preview deployment, fee-payer, Slack, and application secrets. preview_destroy, preview sweep requests, and production also reached secrets without validating the effective triggering actor.

Verification

All PR checks pass:

  • Check / Verify
  • Check / Test Unit
  • Check / Test Workers
  • Check / E2E
  • zizmor
  • Socket Security

Local supplemental checks: zizmor reported no findings; actionlint found no new warnings; the sibling github-sts policy parser suite passed 52/52.

@sds
sds merged commit 99ca7ea into main Aug 29, 2026
7 checks passed
@sds
sds deleted the security/workflow_actor_gates branch August 29, 2026 21:08
@sds
sds deployed to preview August 29, 2026 21:08 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant